/**
 * 
 */
/**
    Copyright 2013 James McClure

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
 */
package net.xenqtt;

/**
 * General mqtt exception used by this library. All exceptions originated by this library are instance of this class or an extension of this class.
 */
public class MqttException extends RuntimeException {

	private static final long serialVersionUID = 1L;

	/**
	 * Constructs a new mqtt exception with <code>null</code> as its detail message. The cause is not initialized, and may subsequently be initialized by a call
	 * to {@link #initCause}.
	 */
	public MqttException() {
	}

	/**
	 * Constructs a new mqtt exception with the specified detail message and cause.
	 * <p>
	 * Note that the detail message associated with <code>cause</code> is <i>not</i> automatically incorporated in this mqtt exception's detail message.
	 * 
	 * @param message
	 *            the detail message (which is saved for later retrieval by the {@link #getMessage()} method).
	 * @param cause
	 *            the cause (which is saved for later retrieval by the {@link #getCause()} method). (A <tt>null</tt> value is permitted, and indicates that the
	 *            cause is nonexistent or unknown.)
	 */
	public MqttException(String message, Throwable cause) {
		super(message, cause);
	}

	/**
	 * Constructs a new mqtt exception with the specified detail message. The cause is not initialized, and may subsequently be initialized by a call to
	 * {@link #initCause}.
	 * 
	 * @param message
	 *            the detail message. The detail message is saved for later retrieval by the {@link #getMessage()} method.
	 */
	public MqttException(String message) {
		super(message);
	}

	/**
	 * Constructs a new mqtt exception with the specified cause and a detail message of <tt>(cause==null ? null : cause.toString())</tt> (which typically
	 * contains the class and detail message of <tt>cause</tt>). This constructor is useful for mqtt exceptions that are little more than wrappers for other
	 * throwables.
	 * 
	 * @param cause
	 *            the cause (which is saved for later retrieval by the {@link #getCause()} method). (A <tt>null</tt> value is permitted, and indicates that the
	 *            cause is nonexistent or unknown.)
	 */
	public MqttException(Throwable cause) {
		super(cause);
	}
}
